home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / game / gomoku / gomoku.bas < prev    next >
BASIC Source File  |  1993-11-30  |  3KB  |  77 lines

  1. 10 SCREEN 0 : SCREEN@ 0 : COLOR 7,0,,4 : CLS : DIM S%(100000)
  2. 20 WINDOW(0,0)-(639,479) : VIEW(0,0)-(639,479) : ON ERROR GOTO *ERROR
  3. 30 RANDOMIZE TIME
  4. 40 PLAY"t255l48v12@77"            : LOAD@"q:\fj2\se\people\laughter.snd",S%
  5. 50 LINE(0,0)-(639,479),PSET,%6,BF : LOAD@"q:\fj2\img_tg\back16\bk16_04.tif"
  6. 60 MXX=1 : MXY=1 : MNX=31 : MNY=23 : TX=16 : TY=12
  7. 70 DIM PST(32,24),PTS(32,24),TX(250),TY(250)
  8. 80 FOR J=0 TO 24 STEP 24 : FOR I=0 TO 32 : PST(I,J)=-2 : NEXT : NEXT
  9. 90 FOR I=0 TO 32 STEP 32 : FOR J=1 TO 23 : PST(I,J)=-2 : NEXT : NEXT
  10. 100 FOR I=20 TO 620 STEP 20 : LINE(I,20)-(I,460),PSET,0 : NEXT
  11. 110 FOR I=20 TO 460 STEP 20 : LINE(20,I)-(620,I),PSET,0 : NEXT
  12. 130 '
  13. 140 MOUSE 0 : MOUSE 1,TX*20,TY*20,1 : MOUSE 4,12,12,625,465
  14. 150 TX=(MOUSE(4,0)+10)\20 : TY=(MOUSE(5,0)+10)\20
  15. 160 IF MOUSE(2,0)=0 OR PST(TX,TY)<>0 THEN 150
  16. 170 CIRCLE(TX*20,TY*20),10,7,,,,F : PST(TX,TY)=-1 : PLAY"o3a"
  17. 180 MOUSE 5 : GOSUB 400
  18. 190 '
  19. 200 '
  20. 210 A=-1 : GOSUB 1000
  21. 220 TAX=0 : MAX=0 : TX=1 : TY=1 : SEL=0
  22. 230 FOR YY=MNY TO MXY : FOR XX=MNX TO MXX
  23. 240 IF PTS(XX,YY)>TAX THEN SEL=0 : TAX=PTS(XX,YY) : TX(SEL)=XX : TY(SEL)=YY
  24. 250 IF PTS(XX,YY)=TAX THEN SEL=SEL+1 : TX(SEL)=XX : TY(SEL)=YY
  25. 260 PTS(XX,YY)=0 : NEXT : NEXT : SEL=INT(RND*(SEL+1)) : TX=TX(SEL) : TY=TY(SEL)
  26. 270 LOCATE 1,0 : PRINT "防御指数 :";TAX : IF TAX>=5 THEN 360
  27. 280 '
  28. 290 A=1 : GOSUB 1000
  29. 300 MX=1 : MY=1
  30. 310 FOR YY=MNY TO MXY : FOR XX=MNX TO MXX
  31. 320 IF PTS(XX,YY)>=MAX THEN MAX=PTS(XX,YY) : MX=XX : MY=YY
  32. 330 PTS(XX,YY)=0 : NEXT : NEXT
  33. 340 LOCATE 23,0 : PRINT "攻撃指数 :";MAX : IF MAX>.5!+RND*4 THEN TX=MX : TY=MY
  34. 350 IF MAX>5 THEN 2000
  35. 360 CIRCLE(TX*20,TY*20),10,0,,,,F : PST(TX,TY)=1 : PLAY"o4a"
  36. 370 GOSUB 400 : GOTO 140
  37. 380 '
  38. 390 '
  39. 400 IF TX>MXX-2 THEN MXX=TX+2 : IF MXX>31 THEN MXX=31
  40. 410 IF TY>MXY-2 THEN MXY=TY+2 : IF MXY>23 THEN MXY=23
  41. 420 IF TX<MNX+2 THEN MNX=TX-2 : IF MNX<1 THEN MNX=1
  42. 430 IF TY<MNY+2 THEN MNY=TY-2 : IF MNY<1 THEN MNY=1
  43. 440 RETURN
  44. 980 '
  45. 990 '
  46. 1000 FOR YY=MNY TO MXY : FOR XX=MNX TO MXX
  47. 1010 IF PST(XX,YY)<>A THEN 1120
  48. 1020 H=1
  49. 1030 T=1 : P=1 : DX=(H>1) : DY=H-3-(H=1)
  50. 1040 X=XX : Y=YY
  51. 1050 X=X+DX : Y=Y+DY
  52. 1060 IF PST(X,Y)=A THEN T=T+1 : P=P+1 : GOTO 1050 ELSE IF PST(X,Y)=0 THEN PTS(X,Y)=PTS(X,Y)+P : P=1 ELSE P=0
  53. 1070 X2=XX : Y2=YY
  54. 1080 X2=X2-DX : Y2=Y2-DY
  55. 1090 IF PST(X2,Y2)=A THEN T=T+1 : P=P+1 : GOTO 1080 ELSE IF PST(X2,Y2)=0 THEN PTS(X2,Y2)=PTS(X2,Y2)+P ELSE PTS(X,Y)=PTS(X,Y)-1
  56. 1100 IF T=5 THEN 2000
  57. 1110 H=H+1 : IF H<5 THEN 1030
  58. 1120 NEXT : NEXT : RETURN
  59. 1980 '
  60. 1990 '
  61. 2000 MOUSE 0 : I=0 : PCMPLAY S%
  62. 2010 IF A=-1 THEN 2060
  63. 2020 SYMBOL(20,20),"う-む、やはり勝ってしまった。",2,2,7,,,4 : A=3
  64. 2030 CIRCLE(TX*20,TY*20),10,4+A
  65. 2040 IF MOUSE(2,0) THEN 2080 ELSE IF I=500 THEN A=-A : I=0 : GOTO 2030
  66. 2050 I=I+1 : GOTO 2040
  67. 2060 SYMBOL(20,20),"なんと、負けてしまった。",2,2,7,,,4
  68. 2070 IF MOUSE(2,0)=0 THEN 2070
  69. 2080 MOUSE 5 :ERASE PTS,PST,TX,TY: GOTO 50
  70. 2090 '
  71. 2100 '
  72. 2110 *ERROR
  73. 2120 PRINT "T-OS v2.1のシステムCDを用意してください。"
  74. 2130 PRINT "FJ2ディレクトリ下のデータを使います。"
  75. 2140 PRINT "by H.IMOTO appears courtesy of IKK VIDEO"
  76. 2150 A$=INPUT$(1)
  77.